/*
 * @Author: shiguang
 * @Date: 2023-05-04 14:49:54
 * @LastEditors: liangliang
 * @LastEditTime: 2023-07-25 16:15:05
 * @Description: date time 日期时间转换
 */

import dayjs from 'dayjs';
import utc from 'dayjs/plugin/utc';
import timezone from 'dayjs/plugin/timezone';
dayjs.extend(utc);
dayjs.extend(timezone);
type Datetime = Parameters<typeof dayjs>[0];

/**
 * 转本地时区
 * @param dateTime dayjs 入参 string | number | dayjs.Dayjs | Date
 * @returns dayjs.Dayjs
 */
export const tzToLocal = (dateTime: Datetime) => {
    const currentTZ = dayjs.tz.guess();
    return dayjs.tz(dateTime, currentTZ);
};

/**
 * 转中国时区
 * @param dateTime dayjs 入参 string | number | dayjs.Dayjs | Date
 * @returns dayjs.Dayjs
 */
export const tzToChina = (dateTime: Datetime) => {
    return dayjs.tz(dateTime, 'Asia/Shanghai');
};

/**
 * 转日本时区
 * @param dateTime dayjs 入参 string | number | dayjs.Dayjs | Date
 * @returns dayjs.Dayjs
 */
export const tzToJapan = (dateTime: Datetime) => {
    return dayjs.tz(dateTime, 'Asia/Tokyo');
};
export {};